﻿/*************************************************************************************

   Extended WPF Toolkit

   Copyright (C) 2007-2013 Xceed Software Inc.

   This program is provided to you under the terms of the Microsoft Public
   License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license 

   For more features, controls, and fast professional support,
   pick up the Plus Edition at http://xceed.com/wpf_toolkit

   Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids

  ***********************************************************************************/

using System.ComponentModel;
using System.Windows;

namespace Xceed.Wpf.DataGrid
{
  internal class ColumnManagerRowConfiguration : DependencyObject, INotifyPropertyChanged
  {
    #region AllowColumnReorder Property

    public static readonly DependencyProperty AllowColumnReorderProperty = DependencyProperty.Register(
      "AllowColumnReorder",
      typeof( bool ),
      typeof( ColumnManagerRowConfiguration ),
      new UIPropertyMetadata( true ) );

    public bool AllowColumnReorder
    {
      get
      {
        return ( bool )this.GetValue( ColumnManagerRowConfiguration.AllowColumnReorderProperty );
      }
      set
      {
        this.SetValue( ColumnManagerRowConfiguration.AllowColumnReorderProperty, value );
      }
    }

    #endregion

    protected override void OnPropertyChanged( DependencyPropertyChangedEventArgs e )
    {
      base.OnPropertyChanged( e );
      this.OnPropertyChanged( e.Property.Name );
    }

    #region INotifyPropertyChanged Members

    public event PropertyChangedEventHandler PropertyChanged;

    protected virtual void OnPropertyChanged( string propertyName )
    {
      var handler = this.PropertyChanged;
      if( handler == null )
        return;

      handler.Invoke( this, new PropertyChangedEventArgs( propertyName ) );
    }

    #endregion
  }
}
